/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package model.handler;

import java.sql.SQLException;
import java.util.LinkedList;
import model.dao.AcaoLoteMudaDAO;
import model.dto.acao.AcaoLoteMudaDTO;
import model.exception.MissingIdException;
import model.exception.NoChangesOnUpdateException;
import model.exception.NotNullFieldsException;

/**
 *
 * @author Gabriel
 */
public class AcaoLoteMudaHandler {

    AcaoLoteMudaDAO acaoLoteMudaDAO;

    public AcaoLoteMudaHandler() throws SQLException, ClassNotFoundException {
        acaoLoteMudaDAO = new AcaoLoteMudaDAO();
    }

    public LinkedList<AcaoLoteMudaDTO> getAcoesLoteMuda(Integer idLoteMuda) throws SQLException {
        return acaoLoteMudaDAO.getAcoesLoteMuda(idLoteMuda);
    }

    public void executaAcao(AcaoLoteMudaDTO acaoLoteMudaDTO) throws MissingIdException, NotNullFieldsException, NoChangesOnUpdateException, SQLException {

        // Verifica se o identificador do Lote de Mudas e da Ação foi passado
        if ((acaoLoteMudaDTO.getIdLoteMuda() == null) || (acaoLoteMudaDTO.getIdTipoAcao() == null)) {
            throw new MissingIdException();
        }

        // Invoca chamada à base
        acaoLoteMudaDAO.persisteAcaoLoteMuda(acaoLoteMudaDTO);
    }

}
